package com.weita.lightfood.utils;

import cn.binarywang.wx.miniapp.api.impl.WxMaServiceImpl;
import cn.binarywang.wx.miniapp.bean.WxMaTemplateData;
import cn.binarywang.wx.miniapp.bean.WxMaTemplateMessage;
import cn.binarywang.wx.miniapp.config.WxMaInMemoryConfig;
import com.weita.lightfood.config.WechatConfig;
import me.chanjar.weixin.common.error.WxErrorException;

import java.util.List;

/**
 * description:
 *  消息推送工具
 * @author IT_Monster on 2019/8/23
 */
public class PushUtil {

    public static void wechatPushToUser(String openId, String formId, List<WxMaTemplateData> templateDataList){
        //配置小程序信息
        WxMaInMemoryConfig wxConfig = new WxMaInMemoryConfig();
        //设置appId
        wxConfig.setAppid(WechatConfig.appId);
        wxConfig.setSecret(WechatConfig.appSecret);

        WxMaServiceImpl wxService = new WxMaServiceImpl();
        wxService.setWxMaConfig(wxConfig);

        WxMaTemplateMessage templateMessage = WxMaTemplateMessage.builder()
                .toUser(openId)
                .formId(formId)
                .templateId(WechatConfig.pushToUserTemplateId)
                .data(templateDataList)
                .page("")
                .build();

        try {
            System.out.println("微信开始推送消息------>formId=" + formId);
            wxService.getMsgService().sendTemplateMsg(templateMessage);
        } catch ( WxErrorException e ) {
            System.out.println("推送失败");
            e.printStackTrace();
        }

    }

}
